#define exit(x) mock_ptr->exit(x)
#define getpagesize() mock_ptr->getpagesize()
#define calloc(x, y) mock_ptr->calloc(x, y)
#define mprotect(x, y, z) mock_ptr->mprotect(x, y, z)

#define dift_log(x, ...) mock_ptr->dift_log(x)
#define next_block(x) mock_ptr->next_block(x)
#define alloc_hd_dirty_page() mock_ptr->alloc_hd_dirty_page()
#define dift_rec_enqueue(x) mock_ptr->dift_rec_enqueue(x)
#define kick_enqptr() mock_ptr->kick_enqptr()
#define wait_dift_analysis() mock_ptr->wait_dift_analysis()
#define gen_rt_finish_curr_block() mock_ptr->gen_rt_finish_curr_block()
#define gen_rt_get_next_enqptr() mock_ptr->gen_rt_get_next_enqptr()
#define gen_rt_enqueue_one_rec() mock_ptr->gen_rt_enqueue_one_rec()
#define gen_rt_enqueue_raddr() mock_ptr->gen_rt_enqueue_raddr()
#define gen_rt_enqueue_waddr() mock_ptr->gen_rt_enqueue_waddr()
#define fflush(x) mock_ptr->fflush(x)
#define vfprintf(x, y, z) mock_ptr->vfprintf(x, y, z)
#define fopen(x, y) mock_ptr->fopen(x,y)
#define is_valid_tag(x) mock_ptr->is_valid_tag(x)
#define is_valid_mem_range(x, y) mock_ptr->is_valid_mem_range(x, y)
#define is_valid_disk_range(x, y) mock_ptr->is_valid_disk_range(x, y)
#define pre_generate_routine() mock_ptr->pre_generate_routine() 
#define init_queue() mock_ptr->init_queue()    
#define init_case_mapping() mock_ptr->init_case_mapping()    
#define init_dift_context(x) mock_ptr->init_dift_context(x) 
#define pthread_create(x,y,z,a) mock_ptr->pthread_create(x,y,z,a)
